package com.kitty.game.utils;

import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.zip.GZIPInputStream;
import java.util.zip.GZIPOutputStream;

public class ZipUtil {

    /**
     * @param str
     * @return 压缩
     */
    public static String compress(String str) {
        if (str == null || str.length() == 0) {
            return str;
        }
        ByteArrayOutputStream out = null;
        GZIPOutputStream gzip = null;
        String compress = "";
        try {
            out = new ByteArrayOutputStream();
            gzip = new GZIPOutputStream(out);
            gzip.write(str.getBytes("UTF-8"));
            gzip.close();
            // 这里增加base64编码
            byte[] compressed = out.toByteArray();
            compress = new sun.misc.BASE64Encoder().encodeBuffer(compressed);
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != out) {
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return compress;
    }

    /**
     * @param str
     * @return 解压缩
     */
    public static String uncompress(String str) {
        if (str == null || str.length() == 0) {
            return str;
        }
        ByteArrayOutputStream out = null;
        ByteArrayInputStream in = null;
        GZIPInputStream gzip = null;
        String uncompress = "";
        try {
            out = new ByteArrayOutputStream();
            // 这里增加base64解码
            byte[] compressed = new sun.misc.BASE64Decoder().decodeBuffer(str);
            in = new ByteArrayInputStream(compressed);
            gzip = new GZIPInputStream(in);
            byte[] buffer = new byte[1024];
            int offset = -1;
            while ((offset = gzip.read(buffer)) != -1) {
                out.write(buffer, 0, offset);
            }
            uncompress = out.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != gzip) {
                try {
                    gzip.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != in) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != out) {
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return uncompress;
    }
    /**
     * @param str
     * @return 解压缩
     */
    public static String uncompress2(String str) {
        if (str == null || str.length() == 0) {
            return str;
        }
        ByteArrayOutputStream out = null;
        ByteArrayInputStream in = null;
        GZIPInputStream gzip = null;
        String uncompress = "";
        try {
            out = new ByteArrayOutputStream();
            // 这里增加base64解码
            byte[] compressed = new sun.misc.BASE64Decoder().decodeBuffer(str);
            in = new ByteArrayInputStream(compressed);
            gzip = new GZIPInputStream(in);
            InputStreamReader isr = new InputStreamReader(gzip, "GBK");
            java.io.BufferedReader br = new java.io.BufferedReader(isr);
            String tempbf;
            StringBuffer sb = new StringBuffer();
            while ((tempbf = br.readLine()) != null) {

                sb.append(tempbf);

                sb.append("\r\n");

            }
            uncompress =sb.toString();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (null != gzip) {
                try {
                    gzip.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != in) {
                try {
                    in.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
            if (null != out) {
                try {
                    out.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        return uncompress;
    }

    public static void main(String[] args) {
        String a = "H4sIAAAAAAAAAO1d25MVx3n/X84zrprumemZ8VuqUqlKHlKVVCUvqZQKWytnYwKyAF+LP4YSlgjY\n" +
                "sgGxCBaQFsGiXVbLcrfkGCJbF4iRADuObBK5Mpez01+f8/WZb/b09MyZ036w8dk5Z/ry619/9+9H\n" +
                "g4XvHFx8ef/g6z8a+KHvhywJs3/v3f1vC4OvD1YfrDy/+2iwa/DS4sKeF/OnWPZf+f/N/hGEPPuf\n" +
                "7+7eczB93ts1OPCDl9N/pB/vGnz3wODr/qFd6TMMf4YVz7D0mThOsGfSj+XvcC8Ez8TlQ+nnxUMi\n" +
                "f8gHDzH5jF88w7NnBPqy9GP5TBRgPxMFxRNR+oQfYD/iB3LAsRehk/IiMJZIoGOJhHzGZ+i8fSYf\n" +
                "YUmM/Uz6MdgHdMBBAAbjwd0M5eJxucCBBxfGZ0H5Q55cG67MPPCy/8hfi+CeouNOP5bPwNlLRA4n\n" +
                "WDwWZKvkwZWUaC6XyxPy4ZiF6NawEG4Nitv0Y/BMgm9fArYvjtHfST+W+OcehOTgwtO14wO5GAkY\n" +
                "ONzE7TmWPwnAxyO4UV9jQvAoTuKYy3l44GmB74OIIcZQOKcfy3kw5qHPMA+uGb5k279yqPxW9nAY\n" +
                "K4QDh8B9T57M7bmU306/mf47ZIHyfc4ZCnFebmr5A+lXsx/wo3jHv5B+N+OSYiu2f6H8c/p59gLh\n" +
                "B+ifsz9kv7X44vhOD956cH5p/d76ZoqSl/ftXzywuG9v+uogXcR/Obj37xb/apuv0+9/Y9++b//D\n" +
                "/vRLL+3es39h1+Bbuxd/uHvf3yzuffFgvv7fWdyzuPdb+w/sPlDsx8sLr7y08M0D+b9f2bdn4a+z\n" +
                "9/uCRdzPZuOHXHhJsS3Da+LisXfuTbgkGIPgEoAL0r9ALoBniYkw++P2ERCAxyDEEp/zagYKUfJR\n" +
                "iGU4h2paGc4epRXyMVavFx+7X0ZOevHa6pPu4eebci3G6F3OYz4GbCZxqY5rsPF4/ZGCya+xSZA8\n" +
                "8MpBE4jMD0cCELnxePn5tT+uvOlEl7kUXQK5eHrRJTu4NkUXgEmi8JLMgfCS1BBe5MOzKbwwiFEW\n" +
                "+uXhZCXn9Fp8KbdPI76EkRXxJWEiisBl8f7RlUcnXrv1rJOXBfPm9LYAE++Gpku4LkKD1wVAJUEo\n" +
                "LTDd6+uimCPxugjiIBIzfl0oggiX4oo5XTf9DpxD+YYQTEEho/JHSuxMf9+MDIJXDcKfMAaDN5YK\n" +
                "N/zGCm3cV/nVKcB95ayynbusnFW2llVW9PumKuZYQ7GJfTmPWb+p5s8qW+60Tq3xLF0TkQetspfv\n" +
                "r9249fTmpQkXRVPqiHQy9IbhLaojkgz0FM+D8ik9xXNzDA/AROL4DIp95/jI27k9vjazS1vRVMwu\n" +
                "T2YC1kCx/MtHUMt/lVnL90qhmQF5U3EB+dLqJ59QZpsI6RRBLxFIwWAjBptvnv/j0tF7Pz/xliqp\n" +
                "x3ZMS0HkQw4+9ZPzS1fe+PTN9Z9NYmEFgSX6YgA+lYRDDQcL/NgIeGw8/NhAB5vCwSUa6nGwjw4F\n" +
                "MqfKZ5HGvMI082Zg3n6AHqb0Y0h41f5ALgJ0I9LPwU7gL+PbL8sOSKCoBuW8GFhAz2Pou7I/AM6J\n" +
                "8ZsshqOuPLwjVK5gcozMd26dyaCP8SFirMpPCXo9qOSpCVZQtUlMnQR8BRR6OMLB6sfX/vf0Oxcf\n" +
                "qLKaF9hS6WNogj77+e1TN45dPN5JluCCwBPMs0IUqUiTOKKwQxQAlFU08fN7NVTjGDXiopaCWGPT\n" +
                "rk8TgkoT6ggHpx5uPhmnCZ9bESdi4fkwHvPyV2vPTv5qhknCDkcwH48JchxhnCNKRBpjiAL0NEGi\n" +
                "OB/WBQllhBpBQljzDcQuYrvTliPnG6jjG4jnIGI7rhOxHcQ4dznfwBhHd883IHdaF7FtyS6Vogle\n" +
                "ExuPt66ufnr21528KFzIU/NXhZCrp78qOOGqYJ7RENkSltW3xRDUvb4tijkSb4sgvStEJOcxi7eF\n" +
                "orLz0gfgA8B4+COsnO7UF0r6El/xaciJ+lAR4nBRGXB7lKs6/dU0OhZOGIo/cSSGY6RExRVnJ6Y3\n" +
                "y0LxwAV37o0Tf2ovJalckqlSkoZzIDBhMXtcD244JcmrJieNC7TZlKTy4RZTkmKXktRxiculJNVL\n" +
                "SYrnICUprpOSJGY8cm/OU5LkXuti94Qt/TyE/uALT09srBxfPtrJy8Lp5125LqQ7SC9nGrwuACpp\n" +
                "6nk4BylJYY2UpNib8fIbynXBY6+J62IkH6jEuJIPlKBPlCRiQu8mZCXBUfiTRmFY55aYw68tK0FM\n" +
                "mZoV+ODSuvLT5S/b07kpXFitcw/nQNO509m3oXPL0O9u6dxyXK3p3DEPISLvfLB8YeWLw0fWrp+9\n" +
                "svZs/f4MR854GDiaCK9zcbjFeW48dAYB5xjt7FyPzU4CRhOIWp8fGpzIagfRYJk/GF+oA8Sj7CIr\n" +
                "QXY+j1IZGZDG5icn19ee3fh07b0WMqd8nJOd1gRUIr3WBG40rdbEpPBkJXNKgRPBylbAsddqUzHH\n" +
                "HQsxbeVOIcrS1LlTijwmfHlSAJo8zTMaj6fkWGWZdZlR3LejLWRqCwM062KZSQKZi2W2JpA1EMuc\n" +
                "g54khg3PhyExjAEAVyRFwRHqYpntJEXxKBjxmLaSvB4jS+dEMKrhmpS8ruG0pkSwIZBIwlfQexdn\n" +
                "PseZE76kaN+bxHVlI7TiWTDRcmaMfJkvIqgFbzy++puOZq2TxDNreeu4NunEM+PiWYlIc1ayHPQ0\n" +
                "K1lxPgyJZ/AoTDaTKSPUiGfcGkMIKJ652hZkjnA2dUsc0UxtiwL6ZJ4QGgmyYZ6QI9TwBLOUkioi\n" +
                "AQ097/x2+enqg//+yLQ9nWmYovdRSAzlnNbs6TJv2ooyp8CJoNIVcOy3SpfPceZUusbt6XFSYlxr\n" +
                "TwfPVNrTlWXWKWx2evCkhD+UH5w05qSxeZPGuCxEXiWNZftqSBpj5OAGZYS6SmNWMr99P+Qcam0X\n" +
                "r1z/n5WbNz49+2ELpvUIWcBZl8bsmdYB/PSmdcvSmAInijSWw7Hn0lg2x5mTxho3sEdBpX3dl4XQ\n" +
                "dfZ1xisqiABxDe6DPvzBUtOhrPcm4OGt+5fur/+htXBpGUUyVbh0OYvqoz9cAfwubjBgOoFNT/Wn\n" +
                "kSQA4NfXzgKmlXG1FDCdDwK2Frlw+vLrd5baC+LHa3vWRWU5CyIqNe0omkYloUOE5o5oFpWibVQK\n" +
                "L4lgGP+1Ny6v3F41qdcCUWo6V2Q60kSWyZmg3IYYKqpl1royolRu9UJiEsrqhXoVmKIB8zDhgAIm\n" +
                "6cE6gZOiCSuHuwQD4XAXQEIPt49r8soEdhj0lb8V1U8DtBS/H0CJy9D5r28ZGFnYHdgHzDYaOARz\n" +
                "i+SCDtZP3Pu5anHLR2qnwwoPAC9tHLm9euPHLejRrr/KNHo0dBzpFemQUPzMZIzaNpZISnSGw74r\n" +
                "0ZG8V2dGiW7CpcEUOUJmkDN4JJVLWRpHKzVksMg6DTmLtrJjqPSg0Hfizu1L144vn+lkCQxXL6kb\n" +
                "BSoJccSJwQIYAJM0W6enkT57RNM5uKtoerteUiK149ksgAHPdyAT3nXuZfCIwfqU5Q90rqASAIOm\n" +
                "oJKwk9TrC7UR1+qDq2srH3322b3XWghC6qO4bigISRL4dEFIArdoNCWtK3CiXAVC2/GqP1eB0DQA\n" +
                "mzuJvekgJNDFTNfu0BLLpoQPk0aczN5BqnYye02Zve/VF/I50mX2VGp3MnuvZfZyQXUyuyXzup/+\n" +
                "G9wmrmL2XN8mfaiYnSO657dJNkfybRJGok8lUOetYjbca13FbEuqRzoUGE/nLgt3Wcz+ZaGJj+zV\n" +
                "ZUEIxiwvC+nKdJfFLF4WMsBVc1nY0ywCd1m4y6JXl0XvQ4B8UgiQ0yx6clnISCTNZeHbyaxmIoG9\n" +
                "eFyhUviEK1Tafl61+UKlBegxrkVyqvPzgV49O6hwg8gxgCQlQSgD1NUptUMQfshDaHq4fH/txq2n\n" +
                "rdQqReu8zrgc2LVipdIdZCW0BKCJIgfmWOy5HBjmRsUqOdDD6aatwJLpE2CqJETrBUuVjdAXLLVi\n" +
                "AOaxlwilYGm9ZJwsZEy6LSbxsPR+T6eOy2dmhIbLic9OQg652yGs5WIgJWeIxo7xsDz7E3j40gY1\n" +
                "rzGfI1EfD0Xsc1nuRc/I0hbTOX1cSapJZH01ABe4QqD0ikzNqVDYlR9ggTf+A+lLlFBiSfmQaLiq\n" +
                "ikm1vVyLEcV/RGsnDGREsWceFyOWA/oYsi9nxygO+ITf8Cb9hJffArHQz2LSHPJve9HIZoQK4OX3\n" +
                "w2Ds9dmXi7tiwjomk4aQfTUHneBa1IVxKBDYjSx1gKyTesn76dU56ZIX2RdEMgpOtfiVGEde+RPZ\n" +
                "d7Ml9X1P/xMeBt2qLRudbSUoomAEmNXTIF0OEv/pC0ByssKKgzFxKGMjc9LQUGrRlE0Qw+ocznDl\n" +
                "DFdzYrgqQE8yXA3PhyHDFSy0MbnDjjJCneXKUhGqVIp2Jdzrc4QrGmqPI5opGlpAn8YTxSkxxROY\n" +
                "hRblCWWEuqKhllxgqe4GLdwrj869enLr4uedZAlWzRKeFZbgTFY4dCzRLEsARBqTJQrYkzhieEIM\n" +
                "cQTWcQ6jCHWAGoqIjCoceieYiJW6wivPV365fvfJJIowFVJFAUt9h5vQ8FHfw64ESmztpQfKH9Ja\n" +
                "eWODYVcAt2NEguVxx/0vX5zNEWPBZtxtLRl3FaNqImvxAZh4+COEDG2wgIPT7yOxTMJS8XfhM1je\n" +
                "devqxdfPHDUdqUCqgQFiLvvCnKZqYBCokxSoIHuTWAlUAGAiMWcGxb4zpy/tBC5QoRxnyEo61AUq\n" +
                "RIEUvIESB8fAY3n4KxkYbIS2RoadRj3pbaBY5VcfbF1dv2sl96AZQdkHiuc8Ccpy3p0QlKVNWc/2\n" +
                "IgoNljwqcUsTlHW29h7RfYy7HnorKLOwsnoGeIQiKAPPCC4oC1shvTGM+W+tsrPrkNSNQLLWKjtn\n" +
                "OOw5bWZznDkpGaHN6aXkQEGc2crOYJH1obqWEiZEXKSVDdn1zNHNy+t3L92dWRE4olB5D6t+RtaY\n" +
                "nGYrJhg84tAckwPc0kRg3v/Gw7HchLkQgX1RWc4TPEKyFZcLqBGB7dkpYEPh5XdPrl//YobtFM6h\n" +
                "1406CgRp2zfo0AO4JdopNA2C+0TSeL/kXpG0anL2vNKwoKmeoJohZLdmnINDaxwM4642L916dnxx\n" +
                "ZhnYWYqbZmCwwBMsxfKHtAzMDFqKS9QS+bf3+cvZHHvPv3AIkSwZXe2qA4ujIV9rZR0EDJbIWpuf\n" +
                "efLun/LW5tYLO/SPFS3agTmBFoW8862YgRU4UZgxh2PPmTGboz1mnJWAiUjGkeviJfxYFi+QTyiT\n" +
                "ZdKwQCjsICrjJbhvyRARDnd/yMM3v9p4fOrIWw8PH7n1zsV3XRdoih+M1AVaRuXMXhfobVCQuTTS\n" +
                "VGdorg908VaM3brdB3rsvG2vWlf6QasLi/aDthY1IGAOxLVjN8/e+HfHUMYYis8wQ5VgIMp6mrSC\n" +
                "ZvlJ4CmRneankYXtFi/JBR3nJd9SsWvhBzCWKSumeurh5pOLP73x6PSRTqZwpisXBqEg8JO0ZTWb\n" +
                "8J3IublUznqnq24q5xg+xwhz5wyXHQWU4bD8hIBU1ZRCdXGMkR3OGXCIg2wdxlI67UXphNAB/N5X\n" +
                "J69c/+K9SQ1zu+1+0NFT3w1tIcpv7TmAKfVTDUbpANxSRK8c9T03s2VztGdm64IDOIrLCVP8v2GV\n" +
                "/zewRsEBoODN1ZXnVz6ZWQLmc0rA3BoBk/y/Hq5Fq/5fgxE4JWqJ9Nv7PibZHHtPv0o8lyzVT/D/\n" +
                "ysXRkK+ljoIiVvTmM082H1ppZd6i9NvDGHV70i8tTZNAvpHJGPVt1NLIV6fz9ol8cRNAr8hXOdOy\n" +
                "RrS2mgkoI11OV0/QwECBE7SV6pWZqYRDx/DKw5NHr583HZ5DqmYCegL0hTctVjOhhOfwEK+l11R4\n" +
                "DgATiTkzKPadOUExLhecU9p2BRJZrgbnBMF4nuZIcA6wihGKmch90BYzsROgznweQxvxyV+ceO36\n" +
                "x530KZFKjNvxJsWepoeU8yah7DWNN6lE5BiLT1MWNEbNp2hZ0FhjTa7vRfLJTiRlhLq6oLZMmMOW\n" +
                "otslxh9uPln6YPN3zvNM44qEU8LyHFeY4AoFm+b4Ij8CNL4oToshvmAxVmQRJQxliBqvs50SlYz7\n" +
                "Sspb7WaaLMWJjCF3jdyQvAtrjdyM9dOMODEdjdLHrV5HzQKQHVPtzHZyK+ZYrdplndy8OApFoqGf\n" +
                "tjq5IUreRAVOrSMpS00CWCnFKEH9Y4ApJX41SGQjKXp79soWaaR2bwn6RMlF5Sg0rd6qXlB+32Cn\n" +
                "t/qNwVBTGuDbqXvFVYxA/faUneq60+VtvOudcuRlUhyLxqdirOudgV5zlvu8qZw53ufNaIzeUKbB\n" +
                "mzilcAmhhnXmJxuPbx2eIC+pcpDOvA2vpJglYGl0GpH08dYScoSi40q0COCtSNRkgXIwybZcUbA8\n" +
                "fCZijMtGGiH4La7seflTHOgpqsAkI96hvMSUK8IPQnBRKfoVHDqQObUSUUDKRNX7CFX/3zYaqkWd\n" +
                "IZI02gdBjBkTFsLYT0Ifb/saJ6gMHSfQTuvhhoCJnZ3yWWDCTKj6daIkAWgLIUJUFfTFxd17X9y9\n" +
                "74XvpP/77YN7BxJ8inZoIohpktSiCBMlD6nTHZw5euK1kZp+VnKf8mHA3Kflx7ePXXi6NCleoss8\n" +
                "RGGhahLyrPEPTGeamn48c/QDYEAkIG2ntWYJKDRLQGge1U4JaKeMs0M2SSaxibXCRzF07d/5YPnC\n" +
                "yheHj6y/sfTntedb3bQd05rY2jEbs9jDT7EzGyMvm85sjIBzjOumiVeKUa87Gr4Va4IQ6vegwyJa\n" +
                "AJ8cgvFAcoC46ZhHtrzRasSma2dLJAvXztYaWTTTzraAPo0milNiiCbI7WzVEera2VqJ7OZJkHie\n" +
                "4wnHE3PHEwX0STwxPCWmeILa01YdoYYnmLXKCQL6ojPh5urbyz9zsSs0vkhA1V3HFw3zBcRmFV/U\n" +
                "il0RxBbYxWkxxBdYIpJG/QAD1ESuWIt0E7CrScbg5z689sbF1zvJFgSpQlhiicCZKixKFSUmzbIE\n" +
                "2vYDZwlNF5SGWUK21cicteMsYcVGwYUXRtBGsfxfq18ePvLe72//fpKnZMywnR5sHvkxukYj5nyO\n" +
                "xlepVno4iDFYJEKxW28/kQgQ5pQIlFsSIeTRSGLUN5LEodbgrhdsa9QLITjmaF4mCsmOy9HFjqOI\n" +
                "V9jWR4UyatAix2hH8fKQKK66vNyoRpFPDzv7tLJ8tS4TJHSx2JcaflWpaSgjV8+ApIWxqNf0bTDY\n" +
                "5Z9+NPjB7r3f+osDB1752+JEv7jw/fQXtj/8x917BnkDgB8s7gUPfXNf5kcefiafSb/09zmXDJv8\n" +
                "/OXBdAhJioOxt+x/eWHhxdH3sMgffdErC/sX9x94Yf+ehYWXR96YhePIN2YX7PYb4xB5IzIvrntd\n" +
                "Or2XDu5fHJuk+soh5dacJM+i8dC3vvTKvh8ujL0yVmYZyVcyz0Pe+b3FH1Zv3+49e14YvnTh+99c\n" +
                "ePnAyEuzIDjNZiaH/lkC1DvUiCjKQxbAtKyNx1tXO2rcIjnN7Ji3EhY7QdSSIFoi0pwJPAc9TQgt\n" +
                "zocp0xY5LUsZoca0xe0U90t3hvuAId7/3el3bl46fOTm8u1jp/6wft4kV8x50eKAVZMKhVPaKFqM\n" +
                "wGLswCLHKwcXerxqly+ucf5jLlUdffli2bG8G+WLtUvcoULGytKiBdZtmdgCBlnrk+O3vjhz9Mov\n" +
                "W6j40cfG7PYqfpASw2QgmpWKHwBMBI4roIhyXI8qfgQMZdROV/xgUxPfeMKYmusFOqXoSn5EMqlM\n" +
                "U/KDc1kUurrkB9gIbckPO1WXeBIpuuWZz5af3tpceX71rFkWJrVFAzzSGxY21BZNSp16+ZXAwkx6\n" +
                "16ywsAIniqyZw7HfPJzPceZ4GCyUMR5WBHAhLea6wnbwmcrKdsoy67ueWcqnCYIY+okuXdj86NTb\n" +
                "W1edYm5MMfdnWDEHcKgmySGYLCvkxVurFfKu9RMaW9ruKOLqkqKKuLXSmwnM9nMOBudgqD5ZM+5g\n" +
                "yEGP8hkW5ZJoExkbTMUBA9SVfbOnJY4Gw7kQ+2qKcCH29iiioVScHPo0mihOiSGaYJgxBOUJZYS6\n" +
                "VBw7zZ2zocBUHKUrum1rEurJdeYkqtZFKeMtSLVNzJmTFDwRzUl9L+Sdz3HmzEmNF/KOZHqizqrv\n" +
                "x9IdAsQEhUJk/bMqq76yD1p7U/aInfotArpWM/l59dOzv55Aw6b63TRG547Nm+5mI41+Va3EDPE5\n" +
                "gCXF7pWDutdsXsyxms3zpIEgDpn0Xc5+axsho1J0HgDwiMYBgNXlVBpIlQ9zeOR8tdxK+RIfTJQp\n" +
                "iyrFSyZXtRxKUZwzHFZLn2IsnDAUf+JI0jEcGqsTWv65qAKagi5A/5z9QS0oJOGZ93Yebxdk7YKD\n" +
                "Fomlo+devftoRsuT8ST2SixMVygxlWl8kUjnzVSVyuRx1FdK9HzQi3XKUmWUVpbUUmUlIIgXi1Zx\n" +
                "b7ZQmewcaaJQGZ62t9NCZd87+K+LL3xj8aXdHSySCPL/xsqa2bF1ZOZZaOvYunrzeCvdylzsYvPd\n" +
                "yuyaOUooEUwcBQx7LRQXc5w5E0fjkYtt9CqT+6ANXLQSPJ75zqNRl9TS8bULa89WHr19dAINo/EU\n" +
                "keb6H/MwKK8YO56qAMlEJGv5TijfgvqikPCLCL3d1V5kYDclVQFIHYLBB/IHByc+Xvs8nxN0GnhW\n" +
                "spfykYwW8Lrwxsr5HWyjhgnHtrH8edtbiNLY6BYiMZraLfQqttBOd+2Uv3w1guTqbzrqHO5QBAmL\n" +
                "GN4G1bmHUVliugiSISKRE7/zFDWfGEFSnA+NhlnXNRyAjaxwDcMR6lJU7XgkkiAJYQTs5ddv3Duz\n" +
                "dv7eBI5Q62kE2JHkMXom+fZusHF5nxImH4Ro2IbpQFG1j5VcEILJolhOHFBTVBMM0QhPEkRj3BgQ\n" +
                "+3In1IPNRJgkWUGbGD3ho2SxvT6Hj/jexmOUOtBLUpnV4Mza1tbqlyNhltMeAEYqFSQiJQTcBVm6\n" +
                "IMuuXZGmgywL0JOuyOH5IFyRGjW/MpMMZQdlgLob0k6vTE9EHKbi7SB4ynXLrDIs2uuWaSx+KqQ6\n" +
                "3CndMutGUBWg7Jh50XC/zHyO1XJPUajP84KY4nOfkX6ZjMfj5r8RG6J0ZOn6ZcbSQE5ul1nR5nKX\n" +
                "oX6a5SgKj/xYq8rqVo/VzSprNZvsRMPOVttljjepDPAmBCwYH4CxJpXdado5g+0yFcocb5dp1Og4\n" +
                "qV1mVkshgkXdb/3pzGeXLrfghUVbZzg3LFVagsun98MKxLnRoB+2BBNBUCqA2DFBybgfNp1jtaDU\n" +
                "MT8sWCiwBlP6YRVLCEeuG1WG4sm4DKXIR4dgdRi5yDona2a7seHWCZhwLbjqW61c3p89q1VTeX8Z\n" +
                "9EmWq+EpIViuDDt34Ah1rXXsVPLjjBUXvrNtO9t2J1miiQrFGeiJDJGfD0MMwegMAUeoM27bagEc\n" +
                "eqpx+96xC0/fuvPeVgu6GtZoxKlq6pymrTNnV1NT4ETS1jI49l1bCz2CWXsOtDW1daHMjtHWmQPP\n" +
                "VNaZU5ZZGxRrSV+L4gLqQ5Y9f+vU3YerbdRe6CHDGkrWlR6/6RiW263kWUKJwK4FDPvNrvkcHbuO\n" +
                "sqvxKp5wmfVVPO10e4uElyhVFT6+cezea2R6TRJQf9sFZzQWnCGJcTqGpWR9CZPBGSWeqjl2iMWO\n" +
                "cazZwIxijtUcKwMz8A6KrQVmIGxbQ04VBDlVVMmpWDkE5fzLMXJwWhR7jzwGYMGqKxmU4ygiL0bj\n" +
                "Hmr8gDbwoXImcrmHgQ/joQso12E/kYcujAZOqLPwJs0i//54+Em974+HTihnBjiixifQXOiE6ggH\n" +
                "fcIBckmxEwq8IxA3j8J7RqMnVF4bj54wqisWQofebO/Keo6KIc69l8+rI4b7ptx7GfQx0QI33psr\n" +
                "60lucq2MUFfW047xPr07kwDwRBZA/Padw0duvXPxXdfBQPrwpuxggKVuj5IKhVPa6GAwAgmCkagA\n" +
                "FXqsancxoPe2z9+KnvtOdzFAl7c7nQzUZUU7GVjJQ+dJIvhoKQEn0TiJpv8STQF9kkQzPCW2JRp1\n" +
                "hDqJxlLHEz8Q0FF2+au1Zyd/1UmOIAUs7dCMW5MlOPNxp5NjCeMsUSKyiiHosk8OeprOU5wPQwwh\n" +
                "k5oqW57AEWoYQtjJxk3f40HbyMaR26s3ftyGK91DVs/50smqF1i+CQX+CJWvDTrTSzAR9KQCiOhR\n" +
                "7I8zPZsjxkxz50xXE0tkJTBtYol0UlYlliiLrG9QYCliXKiRSlle+srNG5+20ynGUWzjJVRluXRr\n" +
                "nWJKPBFZtvchS2IWQ5YaL6Nqv1OMIMU02ZFzM5EbJlCvPDr36smti593UhcG5lSdJlz+TMOasASN\n" +
                "04Sb1YQBIs3qwmgqM64LazK7d2Atw0QNrS4s84A17T/thJWnQwkVXdhVd6XZ1B1HWOKIBqq75qAn\n" +
                "M0RoLEKA3h8YDlCX/2vNnB4GCkG4/N9qgnD5vzYJwnwD8Qz0dIIwlv8LKxhXM0Rl/q+Vfl3ZUAJX\n" +
                "SWRHQoRzzFviiIZCDXPok3kiMFZJhAU1eEKOUCdJeFZ4gmXBRIAnbq9ufDKBIdRmdAKYD0d60alN\n" +
                "PULZ4VE54Or17PsEmyV+YhRcDedAsEIWs8f3nwo/1SLtYyw1itD8tdWGQRLoEMyNHkUPOYooLpVx\n" +
                "pVf4+iMFk1+bqP0eeOWgKUQWjRO3+7zdv3R//Q/tYRIXGetispwFDZXpCrSBSh53E5VyXG2iEjbc\n" +
                "ub525rP2MElIRSdgcjgHIiJ17VQaRiTa8KUDiEw6gEgfJkfP382tScdt+uYmZMhqXHrN3tx+24j0\n" +
                "w9CHMQbzxZHF7K0jMn9tBxGpjKs1RIpQQO1mZenW/3358Mvfmq7R46qgdaNGj+wdaSXoRYEThSJy\n" +
                "OKIU0Zugl3yOO+ajPoUWNl0FTS6ztgqaHRuS7wcFCoYsu/pg5fndRxMYNgjRKyX9GPBDiII0d8Ft\n" +
                "b1B9po4pRN3DYmqxGZ6W26DlaSBTaXnal6ZSPU8H1Eo/BKIuEUkh6RzNPSfpbI7VJJ0X+oniwJON\n" +
                "z6eka4Axm4V+lPvfl1HZeOQgVsOnZvGd0I/iHf9C+t1DY/V7yj8XxXlC4Qfon7M/qK4GudODtx6c\n" +
                "X1q/t745EoJuJ2gh1VEFjGo6d+7sT64+OXwkKdqLuqoGlSIwraoBboqZiaoGBSTIFiChCQJqsJ5B\n" +
                "/laMObtdz2DkrG2vWWfqGSjLitYz8G1xlBJYNZfOJ23oTLOGVTy4p33DKgjpacuMFXg+LObvcgZc\n" +
                "zkA1589+zkAGe/SuHVfa8hOCs1Z9XyE94A+OUJczYKUST05UMK9o7tyBoS5npOFba+cN+pq9tWQu\n" +
                "S3sO6hA6qOfLHVjMvhVEdtRBHbbuoE4HoQRFXzh9+fU7S61hUsaQTIXJchY0VGoDXptFJR6S2z4q\n" +
                "QSBui6iEOufFw3dvtseThD5SBEwO50BEZDv6Jt5MrgOIbF/fDFVL7fxZQYoVsI7K/LUdRKUyrhat\n" +
                "IBzypMuKJiY0OSuIJStIE1nRGejJNhBurumph/CHzgYiR6hLZrJUW0WEiatGvCOOcEmPljiiqaTH\n" +
                "DPpEnshPiSGeoOc8wgHqTKV2cqMzGXvuM8yCdjLMAkKGWStKV+sZZuk9ymCGmavpQbm6XE0Pm+Kt\n" +
                "+ZoeGejJ4i3T5SDWF29DhD904q0coa6mh50arqkWHsIwgPly8RWzb8MkE6JO6PZNMnJcbeagzr1D\n" +
                "xW/HoeJ31KHit+5QSc+GFwBUnrhz+9K148tnXEbKzkSyGc9IIURNM58T4gMSgxkpAJOUuy9HNMoy\n" +
                "PcpJSedYTWnbOSmw0vxM5qQoVpSgZH1ddiB4pEbr6dlNWwFg0KSthHaMyplxADpDr/x0+cv2JBxC\n" +
                "gjNBwhnOgWgpasERmr+2m/INaBLbmnveS6Cl6MMj5169fv7srztpKyJYijwMEU00U8OzTp2lyLil\n" +
                "CCCyylZUIxw8gz3RVpSfEEO2InnxVtqK4Ah17dQSS7YiL4E+DmdNdtbkbnFEE9bkDPR0htB5wOpX\n" +
                "iK7FEHEFQ3BLNeRD5rlGNC6prLsM0UxSWQZ7KkdkJ8QUR9CTyuAIdZESdtKh/ZhFMIXn3vWLr987\n" +
                "e++WBUsqBS31ra1+iBNS362tct5NW1tBQJDe2uoRrK0sCo1ZWwFuCTaPAvXoue+PtTWb444NLLNi\n" +
                "Y1X6DobSZS37DpZfHymvBpdncPp9xP6YLYgVMU14kIJP/uLEa++f76SQRlLkZGBxsyGtoabGmJPT\n" +
                "jMtpJSRNanLCQ+kJk9KyA2JISmMikuOrEtPAEAenHm4+GRPTAjup/9lIoIciG8vSB5u/O32kkzSR\n" +
                "ha4EoSAU1rLEFQlneOCI4wrjXKFg06RWJ/CG9jhftNA8EA5Qwxa27D7Cg0kyrXaCxwxnM65quUbw\n" +
                "tRrBF3DsubKVzdGesiXVHNcIXtXq4D5oi2ZbMq0FXgid+C5IsYNc7oIU6wQp5ojuOZNnc6xm8mGQ\n" +
                "YuSBkr0zaUBzQYqDCUGKEAyaIEVhy0oYJjA1yGW+E82ELvPdnurfUOZ7Bn2q6p+dEkOqf42YDzBA\n" +
                "jT/Xmxg4apQmAkATG49vXmpB68eKBsy4pGhR6wfA02v9lHqXBrX+IZBI+n4GwZ5Lidkcnb4/qu8z\n" +
                "36tU+IUvxWuNwp8ImUJQqfCDjdAq/HaqjmTSIsyV3Xi8/PzaH1fedAp/h2jcnsJPi5PBhdPG+mQB\n" +
                "TBIVfk3uc3+oPJtjHYVfivgzqfCrhF0dMtM3fV4mr2uSDkMbl0V6BsIEtlJ2+rzT5+dDny+gT9Ln\n" +
                "h6eEoM9rJG1VmqEq9OoIdRUv7QmV0JnvvEhzLVT2xIvU+3iAbI41hEpZCmE2hUrnRaqQOssF1Umd\n" +
                "lpKG06HAWHNnopjr26QnJorep/Jkc6xzm8gQ95m8TebdRCGTDjSXhZ1qpIyFEQxgcyYKZ6KYDxNF\n" +
                "AX2SiWJ4SggmClJ2Egj4nhxzoIxQF3NgyUQRDwE55Ik7HyxfWPni8JH1N5b+vPZ8q5s5Sp1KZYyl\n" +
                "7OQIo1nCQMBpjjbyk0CjjeLQGKINeq1zOEA8SSmyFajEONREnXDhhIuucUVj8YyMk1Ofs1NiiCU4\n" +
                "WbhQRqjzf1jKokn1o1E/6dqz9fsu9ZnGF4knQscX9viixGYVX9RKffZp/tLhaTGljHh0vgAj1OQ+\n" +
                "W9JFQsZgzTvXQpQoVLiad5ZIookWohnoyQIFM1bxToKGIFDIEeoEClt1cwWHdXPvbp1funFs5aPP\n" +
                "PpvAEiPYXH/11n+m33n71XPJLsG9XRw4tBW4ogzNNWVJFZgow0KgotTO9IJYcLFDNkGuG1mEXvE2\n" +
                "UPFpqoT7SOVemQZerzQ+QOS4rwGuY5LuJZcsJ8Z+YCzZXC4UDurAmjLtQSHZWeCcBa6zF2CzFrjs\n" +
                "JJCvQs+crCzzhCnVXyuEZc5t3YVM6aN1+fW7n984dvG444sKvuCeh/dpcXxhnC8AKE3q1AzvRYXz\n" +
                "hCafsT5PRDV0ajBCDU341sQLBmOQz3249R+OJmg04fRqSzQBQGmUJiRUqjVrTVhzfZqIMYVIq1l7\n" +
                "VTThWZMmYLzQ5a/Wnp381QyThB2OYJpMfscR5kWJbUSaFSTIPauy82FM4agjSFT2rLJmnRfQ6b91\n" +
                "/NzvnSBBEiTkixxJNEsSAJRGaULQff7CmM+/liAhR6gTJKz5/IVaSMO1tiN4+l1rO2sc0UhrOyGo\n" +
                "sYP5+TBlkaATBBigrrOdlX4IPGGCB4AgXPAgjSJc8KA9imioeEIOfRJNDE+JIZogd7dTR6jz9TfO\n" +
                "E4cO/T/U3v82rLUCAA==\n";

       // a= "H4sIAAAAAAAAAHs6ueMpEgIAxfiGag8AAAA=";
        String uncompress = uncompress2(a);
        System.out.println(uncompress);
        //uncompress = "哈哈哈哈哈";
        System.out.println(compress(uncompress));

    }

}
